#include <stdio.h>

int main()
{
    //int a[10] = {1,2,3,4,5,6,7,8,9};
    //printf("a = %p, a+1 = %p, &a + 1 = %p\n", a, a+1, &a+1);
    int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
    printf("a = %p, a+1 = %p, &a[0] + 1 = %p, &a + 1 = %p\n", a, a+1, &a[0]+1, &a + 1);

    printf("%p %p\n", &a[0], &a[0] + 1);
    // typeof(&a[0]) ==> int[4]*
    //定义一个指针变量p保存a[0] 的地址
    // 指向的对象的类型 * 指针名；
        //typeof(a[0]) *p;
    //int (*p)[4] = &a[0];// typeof(p) ==> int[4]*
    //printf("%p %p\n", p, p + 1);

    int* *p = &a[0];    
    printf("%p %p\n", p, p + 1);

}   